草庐IT

java - Horner 的小数部分递归算法 - Java

全部标签

javascript - 如何在严格评估的语言中实现 protected 递归?

我在Javascript中实现了一个Scott编码的List类型以及一个模仿Semigroup类型类的重载append函数。append工作得很好,但对于大型列表,它会破坏堆栈。这是我实现的决定性部分:appendAdd("List/List",tx=>ty=>tx.runList({Nil:ty,Cons:x=>tx_=>Cons(x)(append(tx_)(ty))}));通常我使用蹦床来避免不断增长的堆栈,但这以尾递归为前提,因此在这种情况下不起作用。由于这个实现是基于Haskell的,我猜惰性求值和保护递归/尾递归模cons会有所不同:(++)[]ys=ys(++)(x:xs

javascript - 如何使这个同步递归函数异步

我有一个递归遍历树的javascript函数。它有两个“标志”变量,在函数本身的范围之上设置为false或true,因此如果在递归“walkTree”函数时将标志设置为true一次,则每次递归都会为true.另一方面,for循环也可能存在带有返回值的函数(如果有东西是for的话)。我遇到的问题是当递归太多时我会出错。我想通过使这个递归函数异步来防止这个问题,我试过将for循环内的subwalkTree()调用放到setTimeout中,但我现在遇到的问题是函数的其余部分将在其余异步操作完成之前执行(并可能返回错误的值)。那么我怎样才能使这个异步,同时仍然确保返回正确的值(而不是递归中的

javascript - javascript 中的动态 java 编译器

我正在尝试构建一个在线Java编辑器。我需要使我能够在单击提交时向用户报告编译错误(如果有的话)的功能。我很想知道是否有任何现成的javascript库可供我使用。 最佳答案 获取文本并在服务器端对其调用javac,以某种结构化的方式发回结果并在客户端显示 关于javascript-javascript中的动态java编译器,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1135

javascript - 在 Dojo 类中递归调用 setTimeout 时是否存在内存泄漏?

我们已经使用Dojo创建了一个在UI上带有时钟的应用程序。但有时应用程序UI只是卡在那里,时钟就停止了。猜测JS引擎刚刚停止,因为时钟是由javascript代码驱动的。不确定以下代码会导致内存泄漏,然后导致挂起问题。我们使用递归的setTimeout调用来实现时钟。dojo.declare("xxx.xxx.HomepageHeader",[dijit._Widget,dijit._Templated],{widgetsInTemplate:true,_time:'',dateUtil:null,//....//....prefix:function(value,p){return(

javascript - 解决正则表达式递归字符串

问题我可以匹配这个字符串(xx)使用这个正则表达式\([^()]*\)但是不匹配(x(xx)x)所以,这个正则表达式会\([^()]*\([^()]*\)[^()]*\)然而,这将无法匹配(x(x(xx)x)x)但同样,这个新的正则表达式会[^()]*\([^()]*\([^()]*\)[^()]*\)[^()]*这是您可以注意到复制的地方,第一个\(之后和最后一个\)之前的第二个正则表达式的整个正则表达式模式被复制并替换了最中心[^()]*。当然,最后一个正则表达式不会匹配(x(x(x(xx)x)x)x)但是,您总是可以将最中心的[^()]*复制替换为[^()]*\([^()]*\)

javascript - 具有事件的渲染部分的后响应不起作用

在ruby​​onrails中,我正在尝试更新2个部分。show.html.erb:"pricelistfilters"%>pricelistfilters.html.erb:#Renderthepageonproperties(andthenewproperties)#......#products.js-->渲染部分的事件$(window).ready(function(){selectionchanges();});functionselectionchanges(){$('#filtersselect').change(function(){//Doingstufftosend

javascript - D3 绘制数据集的选择性部分

我有一个大型时间序列数据集需要绘制图表,我正在尝试使用D3来完成它。我计划让我的图形的x轴为时间,并允许图形在x方向上移动。我想让图表只加载/显示屏幕上当前时间范围内存在的点。例如,如果我的数据集有1-100次,但图形以显示的时间1-10开始,则图形应该只绘制1-10点。然后用户可能会向右移动并查看时间5-15,图表应相应更新。任何人都可以向我解释如何通过d3完成此操作吗?我很难理解从一次加载并立即绘制整个数据集到选择性地绘制数据子集。 最佳答案 我认为您正在寻找selection.filter()功能。例如你可以有:varallN

javascript - 使用变量名作为其值的一部分 js

在js中设置变量值时可以获取变量名吗?像这样的东西:varjs='';原来是这样js='';上下文并不重要,我知道有很多更长的方法可以做到这一点,但使用最短的方法可能会很棒。 最佳答案 嗯-我能想到的最接近的事情是通过模板创建:Example//usingthissmalltemplatejscodeif(!String.prototype.supplant){String.prototype.supplant=function(o){returnthis.replace(/{([^{}]*)}/g,function(a,b){va

javascript - 如何在 html5/JS 中只预加载音频文件的一部分?

我在一个网页中有多个音频文件。我希望它们都准备好在页面加载后立即播放,但一次完全预加载它们太重且无用。因此,我只想预加载一定数量的音频并加载其余的,前提是它们已播放(类似于我们在YouTube示例中看到的行为)。如何在HTML5页面上执行此操作(可能使用Javascript)? 最佳答案 您可以尝试一些hacky,例如在onload监听器中播放文件的前10%。但是,根据经验,我发现浏览器无论如何只会预加载音频内容的开头。(如果他们预加载任何东西:例如iOS,移动版chrome都拒绝预加载。)例如,在Firefox中,您可以检查HTT

javascript - 如何将javascript对象拆分成更小的部分

我正在尝试对Javascript对象进行JSONify处理,结果却出现“无效的字符串长度”错误。我决定将对象分解成更小的部分,对更小的部分使用JSON.stringify,并将每个部分附加到文件中。我首先将javascript对象转换为数组并将它们拆分为更小的部分。{'key1':[x,y,z],'key2':[p,q,l],......-JSON中原始对象的示例符号。每个字符x,y,z,p,q,l都是base64字符串的缩写,该字符串的长度足以导致字符串长度溢出问题。[['key1',x],['key1',y],['key1',z],['key2',p],......]-数组转换va